// 以服务器端通常返回的是配置中的第一个可用证书；
// 如果要使用多个证书呢，就只能配置不同的 SSL 端口或增加 IP 地址，
// 或者可以花重金使用一个“多域名 SSL 证书”或一个“通配型证书”来达到相同效果。
// 嗯，这在过去是对的，但不适用于现在了，因为 SNI（Server Name Indication）
//  技术出现了（实际上早就有了）。换句话说，一个 IP 地址上可以为不同域名分配使用不同的 SSL 证书；
//  这同时意味着，共享 IP 的虚拟主机也可实现 SSL/TLS 连接。

//关于SNI技术（服务器名称指示）查看博客：https://shansing.com/read/355/

var https=require('https');
var fs=require('fs');
//单域名单证书
var options = {
	host:'https://127.0.0.1',
    key: fs.readFileSync('./key.pem'),
    cert: fs.readFileSync('./cert.pem')
};
//SNI技术


var server = https.createServer(options, function (request, response) {
   	response.writeHead(200, { 'Content-Type': 'text/plain' });
	response.end('Hello world\n');
	console.log(request.headers);
}).listen(4433);

server.addContext('https://127.0.0.1:8001', {
    key: fs.readFileSync('./key.pem'),
    cert: fs.readFileSync('./cert.pem')
});